/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logic;

import java.sql.SQLException;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author TuxCompany
 */
public class AccessFrame {

    private static String[] Parameters;
    public static String User;
    /**
     * @Control de Acceso a Frame's Anexar un nuevo frame, anexar Nombre en
     * Frames
     */
    //Frame de Control de Usuarios
    private static String Frames = "ControlUser,";
    //Control de Frames Registrados
    private static int NFrame = 1;
    //El numero de Frame, tiene que ir Acorde al control de Frames Asignados

    public static int ATotal=0;
    
    public void LoadParameters() {
        try {
            Parameters = new String[NFrame];
            //Reemplazamos ',' por Espacio, para poder utilizar
            //El Tokenizer y recorrer cada uno de los Frames Registrados
            StringTokenizer ST = new StringTokenizer(Frames.replace(",", " "));
            int Pos = 0;
            while (ST.hasMoreTokens()) {
                Parameters[Pos] = ST.nextToken();
                Pos++;
            }
        } catch (Exception e) {
            MessageBox.show("Error Codigo Fuente", "Error en el control de Frames\n verifique su codigo fuente", MessageBox.Error);
        }
    }

    public static boolean Access(javax.swing.JComponent Frame) {
        if(ATotal==1)
            return true;
        try {
            java.sql.Statement Query = Logic.Conectividad.Conector.createStatement();
            java.sql.ResultSet Result = Query.executeQuery("SELECT COUNT(*) FROM PERMISO_USER WHERE COD_USR='" + AccessFrame.User + "' AND PARAMET='" + Frame.getName() + "'");
            Result.next();
            if (Result.getInt(1) == 0) {
                //Logic.MessageBox.show(Frame, "Sin Acceso", "Lo sentimos, no posee Acce", Logic.MessageBox.Error);
                return false;
            } else {
                return true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(AccessFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
        return false;
    }
    
    public static boolean Access(javax.swing.JInternalFrame Frame){
        return AccessFrame.Access((javax.swing.JComponent) Frame);
    }

    public static void main(String a[]) {
        new AccessFrame().LoadParameters();
    }
}
